﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Media;
using System.Collections.ObjectModel;
using System.Data;
using System.Windows.Media.Imaging;
using System.ComponentModel;
using System.Diagnostics;
using System.Windows.Controls;
using System.Globalization;
using produccion.modelo;
using produccion.AccesoDatos;
using produccion.clases;
using System.Windows.Input;
using System.Collections.Specialized;

namespace produccion.modelo
{
    public class MExplosionMateriales : ObservableObject
    {
        public class ExplosiondeMateriales : ObservableObject
        {
            #region Propiedades
            private string _strCodigoProveedor;
            public string strCodigoProveedor
            {
                get { return _strCodigoProveedor; }
                set { _strCodigoProveedor = value; }
            }

            private string _strCodigoMaterial;
            public string strCodigoMaterial
            {
                get { return _strCodigoMaterial; }
                set { _strCodigoMaterial = value; }
            }

            private string _strCodigoColor;
            public string strCodigoColor
            {
                get { return _strCodigoColor; }
                set { _strCodigoColor = value; }
            }

            private string _strNombreProveedor;
            public string strNombreProveedor
            {
                get { return _strNombreProveedor; }
                set { _strNombreProveedor = value; }
            }

            private string _strNombreMaterial;
            public string strNombreMaterial
            {
                get { return _strNombreMaterial; }
                set { _strNombreMaterial = value; }
            }

            private string _strNombreColor;
            public string strNombreColor
            {
                get { return _strNombreColor; }
                set { _strNombreColor = value; }
            }

            private double _numCantidadRequerida;
            public double numCantidadRequerida
            {
                get { return _numCantidadRequerida; }
                set { _numCantidadRequerida = value; }
            }

            private double _numCantidadExistente;
            public double numCantidadExistente
            {
                get { return _numCantidadExistente; }
                set { _numCantidadExistente = value; }
            }

            private double _numCantidadReservada;
            public double numCantidadReservada
            {
                get { return _numCantidadReservada; }
                set { _numCantidadReservada = value; }
            }

            private double _numCantidadaPedir;
            public double numCantidadaPedir
            {
                get { return _numCantidadaPedir; }
                set { _numCantidadaPedir = value; }
            }

            private string _strTipoMaterial;
            public string strTipoMaterial
            {
                get { return _strTipoMaterial; }
                set { _strTipoMaterial = value; }
            }

            private double _numCostoMaterial;
            public double numCostoMaterial
            {
                get { return _numCostoMaterial; }
                set { _numCostoMaterial = value; }
            }

            private double _numCantidadPendiente;
            public double numCantidadPendiente
            {
                get { return _numCantidadPendiente; }
                set { _numCantidadPendiente = value; }
            }

            #endregion
        }

        public class Pedidos : ObservableObject
        {
            #region Propiedades
            private string _strCodigo;
            public string strCodigo
            {
                get { return _strCodigo; }
                set { _strCodigo = value; }
            }

            private string _strNombre;
            public string strNombre
            {
                get { return _strNombre; }
                set { _strNombre = value; }
            }

            private DateTime _dtmFecha;
            public DateTime dtmFecha
            {
                get { return _dtmFecha; }
                set { _dtmFecha = value; }
            }

            private string _strIncluido;
            public string strIncluido
            {
                get { return _strIncluido; }
                set { _strIncluido = value; }
            }

            #endregion

            #region Metodos


            #endregion
        }

        public class ResumenExplosion : ObservableObject
        {
            #region Propiedades
            private string _strCodigoProveedor;
            public string strCodigoProveedor
            {
                get { return _strCodigoProveedor; }
                set { _strCodigoProveedor = value; }
            }

            private string _strNombreProveedor;
            public string strNombreProveedor
            {
                get { return _strNombreProveedor; }
                set { _strNombreProveedor = value; }
            }

            private double _numTotalUnidades;
            public double numTotalUnidades
            {
                get { return _numTotalUnidades; }
                set { _numTotalUnidades = value; }
            }

            private double _numCostoTotal;
            public double numCostoTotal
            {
                get { return _numCostoTotal; }
                set { _numCostoTotal = value; }
            }
            #endregion
        }

        public class DetalleCliente : ObservableObject
        {
            #region Propiedades
            private string _strCodigoMaterial;
            public string strCodigoMaterial
            {
                get { return _strCodigoMaterial; }
                set { _strCodigoMaterial = value; }
            }

            private string _strDescripcion;
            public string strDescripcion
            {
                get { return _strDescripcion; }
                set { _strDescripcion = value; }
            }

            private string _strColor;
            public string strColor
            {
                get { return _strColor; }
                set { _strColor = value; }
            }

            private double _numCantidad;
            public double numCantidad
            {
                get { return _numCantidad; }
                set { _numCantidad = value; }
            }

            private double _numCosto;
            public double numCosto
            {
                get { return _numCosto; }
                set { _numCosto = value; }
            }

            private double _numTotal;
            public double numTotal
            {
                get { return _numTotal; }
                set { _numTotal = value; }
            }
            #endregion
        }

        public class DetallePedido : ObservableObject
        {
            #region Propiedades
            private string _strReferencia;
            public string strReferencia
            {
                get { return _strReferencia; }
                set { _strReferencia = value; }
            }

            private string _strNombreReferencia;
            public string strNombreReferencia
            {
                get { return _strNombreReferencia; }
                set { _strNombreReferencia = value; }
            }

            private string _strColor;
            public string strColor
            {
                get { return _strColor; }
                set { _strColor = value; }
            }

            private string _strNombreColor;
            public string strNombreColor
            {
                get { return _strNombreColor; }
                set { _strNombreColor = value; }
            }

            private Int32 _numCantidad;
            public Int32 numCantidad
            {
                get { return _numCantidad; }
                set { _numCantidad = value; }
            }

            private string _strTieneStandard;
            public string strTieneStandard
            {
                get { return _strTieneStandard; }
                set { _strTieneStandard = value; }
            }

            private string _strTieneExplosion;
            public string strTieneExplosion
            {
                get { return _strTieneExplosion; }
                set { _strTieneExplosion = value; }
            }

            private string _strNumeroExplosion;
            public string strNumeroExplosion
            {
                get { return _strNumeroExplosion; }
                set { _strNumeroExplosion = value; }
            }

            private Boolean _logIncluir;
            public Boolean logIncluir
            {
                get { return _logIncluir; }
                set { _logIncluir = value; }
            }

            private string _strCodCli;
            public string strCodCli
            {
                get { return _strCodCli; }
                set { _strCodCli = value; }
            }

            private Int32 _numPed;
            public Int32 numPed
            {
                get { return _numPed; }
                set { _numPed = value; }
            }

            private DateTime _dtmFec;
            public DateTime dtmFec
            {
                get { return _dtmFec; }
                set { _dtmFec = value; }
            }

            private Boolean _logPuedeIncluir;
            public Boolean logPuedeIncluir
            {
                get { return _logPuedeIncluir; }
                set { _logPuedeIncluir = value; }
            }

            #endregion
        }

    }
}
